/*
 ============================================================================
 Name		: LoadImageList.h
 Author	  : Leo
 Version	 : 1.0
 Copyright   : Your copyright notice
 Description : CLoadImageList declaration
 ============================================================================
 */

#ifndef LOADIMAGELIST_H
#define LOADIMAGELIST_H

#include <e32base.h>	// For CActive, link against: euser.lib
#include <e32std.h>		// For RTimer, link against: euser.lib
#include "RoImageDecoder.h"

class CLoadImageList : public MRoImageDecoderObserver
	{
public:
	// Cancel and destroy
	~CLoadImageList();

	// Two-phased constructor.
	static CLoadImageList* NewL();

	// Two-phased constructor.
	static CLoadImageList* NewLC();

	
	//
	int Callback(CFbsBitmap* aBitmap, CFbsBitmap* aMask=NULL);
public:


	int  AppendPathName(TFileName& aName);
	CFbsBitmap* GetBitmap(int id);
	CFbsBitmap* GetMask(int id);
private:
	// C++ constructor
	CLoadImageList();

	// Second-phase constructor
	void ConstructL();


	TBool	isDecoder;
	CRoImageDecoder*	iImageDecoder;
	
private:
	CArrayFixFlat<TFileName>*	iPathList;
	CArrayFixFlat<CFbsBitmap*>*	iBitmapList;
	CArrayFixFlat<CFbsBitmap*>*	iMaskList;
	};

#endif // LOADIMAGELIST_H
